package com.peas.platform.module.icims.budget.statistics.adapter.repository.po;

import java.util.*;
import java.math.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.peas.platform.framework.mybatisplus.po.BasePo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

// 部门绩效目标计划
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "`tbl_department_performance_plan`")
public class DepartmentPerformancePlanPo extends BasePo {

    //部门绩效目标ID
    //（部门绩效目标表）外键
    @TableField(value = "`department_performance_id`", jdbcType = JdbcType.BIGINT)
    private Long departmentPerformanceId;

    //部门绩效目标计划类型
    //本年度、三年期
    @Size(max = 20, message = "部门绩效目标计划类型不能超过20个字符")
    @TableField(value = "`department_performance_plan_type`", jdbcType = JdbcType.VARCHAR)
    private String departmentPerformancePlanType;

    //主要支出计划
    //主要支出计划（对应任务、政策）
    @Size(max = 1000, message = "主要支出计划不能超过1000个字符")
    @TableField(value = "`plan_content`", jdbcType = JdbcType.VARCHAR)
    private String planContent;

    //任务（政策）的绩效目标
    @Size(max = 1000, message = "任务（政策）的绩效目标不能超过1000个字符")
    @TableField(value = "`plan_kpi`", jdbcType = JdbcType.VARCHAR)
    private String planKpi;

    //主要实施项目
    //主要实施项目（项目名称）
    @Size(max = 1000, message = "主要实施项目不能超过1000个字符")
    @TableField(value = "`plan_item`", jdbcType = JdbcType.VARCHAR)
    private String planItem;

}
